package com.rayson.yututu.service;

import com.rayson.yututu.model.entity.Space;
import com.rayson.yututu.model.entity.User;
import com.rayson.yututu.model.req.space.analyze.*;
import com.rayson.yututu.model.vo.*;

import java.util.List;

/**
 * @author: rayson
 * Description:
 * Date: 2025-01-18 10:03
 */
public interface SpaceAnalyzeService {

    /**
     * 获取空间使用情况
     */
    SpaceUsageAnalyzeVO getSpaceUsageAnalyze(SpaceUsageAnalyzeReq spaceUsageAnalyzeReq, User loginUser);

    /**
     * 获取空间分类情况
     */
    List<SpaceCategoryAnalyzeVO> getSpaceCategoryAnalyze(SpaceCategoryAnalyzeReq spaceCategoryAnalyzeReq, User loginUser);

    /**
     * 获取图片标签使用情况
     */
    List<SpaceTagAnalyzeVO> getSpaceTagAnalyze(SpaceTagAnalyzeReq spaceTagAnalyzeReq, User loginUser);

    /**
     * 获取图片大小分析
     */
    List<SpaceSizeAnalyzeVO> getSpaceSizeAnalyze(SpaceSizeAnalyzeReq spaceSizeAnalyzeReq, User loginUser);

    /**
     * 获取用户行为分析
     */
    List<SpaceUserAnalyzeVO> getSpaceUserAnalyze(SpaceUserAnalyzeReq spaceUserAnalyzeReq, User loginUser);

    /**
     * 获取空间使用排行
     */
    List<Space> getSpaceRankAnalyze(SpaceRankAnalyzeReq spaceRankAnalyzeReq, User loginUser);
}
